home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 13 / Tiger_Disk_013_19xx_Tiger-Crew-Disk_de_Side_B.d64 / lektion 2 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  6KB  |  153 lines

  1. 1 rem**********************************
  2. 2 rem*-------- lektion 2 -------------*
  3. 3 rem*--------------------------------*
  4. 4 rem*---- (w) by arno freisinger ----*
  5. 5 rem*--------------------------------*
  6. 6 rem*--------- in 1987 --------------*
  7. 7 rem*--------------------------------*
  8. 8 rem*-------              -----------*
  9. 9 rem**********************************
  10. 10 poke 53280 , 251 : poke 53281 , 251 : print "[155]" : poke2050,1
  11. 15 sys 42291 : poke 46 , peek (35) : poke 45 , peek (781) + 2 : clr
  12. 20 print"[147]"tab(15)"teachmaster"
  13. 30 print""tab(09)"(w) by arno freisinger"
  14. 40 print""tab(10)"                    "
  15. 50 for i = 1 to 2000 : next
  16. 60 print"[147]"tab(15)"lektion 2"
  17. 70 for i = 1 to 1000 : next
  18. 80 get a$ : get a$ : get a$
  19. 100 print"[147]im ersten teil haben wir uns nur ueber"
  20. 110 print"grundlagen unterhalten. in diesem teil"
  21. 120 print"wollen wir die ersten befehle kennen-"
  22. 130 print"lernen.aber noch etwas geduld, wir "
  23. 140 print"brauchen noch ein paar grundlagen !"
  24. 150 print""tab(12)"taste druecken"
  25. 160 print""tab(18)"-1-"
  26. 170 gosub250
  27. 180 on a goto 300 , 60
  28. 190 rem********************************
  29. 200 rem*------ tasten abfrage --------*
  30. 210 rem********************************
  31. 250 get a$: ifa$="" then250
  32. 260 if a$ = "z" then a = 2  : return
  33. 270 a = 1
  34. 280 return
  35. 285 rem********************************
  36. 290 rem*----------- seite 2 ----------*
  37. 295 rem********************************
  38. 300 print"[147]-----die-register-im-mikroprozessor----"
  39. 310 print"der akkumulator :"
  40. 320 print"dieses register ist das wichtigste im"
  41. 330 print"computer.es ist das einzige in dem man"
  42. 340 print"rechnen kann."
  43. 350 print"x & y indexregister :"
  44. 360 print"sie sind auch sehr wichtige register"
  45. 370 print"im computer, aber man kann mit ihnen"
  46. 380 print"nicht rechnen,wie mit dem akku."
  47. 430 print""tab(12)"taste druecken"
  48. 440 print""tab(18)"-2-" : gosub 250 : on a goto 450 , 100
  49. 450 print"[147]-----die-register-im-mikroprozessor----"
  50. 452 print"akku ist die abkuerzung fuer akkumulator"
  51. 453 print"statusregister :"
  52. 454 print"in ihm gibt es 8 flags, die den status"
  53. 455 print"des prozessors anzeigen"
  54. 460 print"der stackpointer :"
  55. 470 print"er gibt die aktuelle position im stack-"
  56. 480 print"speicher an.der stackspeicher ist eine"
  57. 550 print""tab(12)"taste druecken"
  58. 560 print""tab(18)"-3-": gosub 250 : on a goto 565 , 300
  59. 565 print"[147]-----die-register-im-mikroprozessor----"
  60. 570 print"art zwischenspeicher, der 256 bytes lang"
  61. 580 print"ist."
  62. 590 print"dies war eine grobe erklaerung der "
  63. 600 print"register des prozessors."
  64. 610 print"jetzt geht es endlich los mit den ersten"
  65. 620 print"befehlen"
  66. 630 print""tab(12)"taste druecken"
  67. 640 print""tab(18)"-4-" : gosub 250 : on a goto 650 , 450
  68. 650 print"[147]lda[146] lautet der erste befehl, den wir"
  69. 660 print"kennen lernen. er bedeutet auf deutsch"
  70. 670 print"lade einen wert in den akku."
  71. 680 print"es gibt verschiedene arten, einen wert"
  72. 690 print"zu laden.zuerst einmal die direkte."
  73. 700 print"lda #$0f : dies bedeutet, es soll der"
  74. 710 print"wert hex.0f geladen werden.zu deutsch"
  75. 720 print"lade den wert 15 in den akku.dieser"
  76. 730 print"befehl kann auch so aussehen lda #15[146]"
  77. 740 print"noch ein wort zu dem ersten befehl:"
  78. 770 print""tab(12)"taste druecken"
  79. 780 print""tab(18)"-5-" : gosub 250 : on a goto 790 , 565
  80. 790 print"[147]es handelt sich hier um ein neues zahlen"
  81. 800 print"system.es wird hexadezimal genannt."
  82. 810 print"es hat die basis 16 und nicht 10 wie"
  83. 820 print"unser normales system.es ist so"
  84. 830 print"aufgebaut:1,2,3,4,5,6,7,8,9,a,b,c,d,e,f"
  85. 840 print"der buchstabe a bedeutet die zahl 10."
  86. 850 print"der buchstabe f bedeutet die zahl 15."
  87. 860 print"die buchstaben sind ein einfacher ersatz"
  88. 870 print"fuer die ziffern.die zahl 255 be-"
  89. 872 print""tab(12)"taste druecken"
  90. 875 print""tab(18)"-6-": gosub 250 : on a goto 880 , 650
  91. 880 print"[147]deutet ff und 65535 bedeutet ffff"
  92. 890 print"sie sehen den vorteil dieses systems ?"
  93. 900 print"es werden hier nicht mehr als 4"
  94. 910 print"ziffern benoetigt,anstatt 5 normal."
  95. 920 print"die hex.zahl laesst sich folgendermassen"
  96. 930 print"umrechnen : 16^3*erste ziffer+16^2*"
  97. 940 print"zweite ziffer+16^1*dritte ziffer+16^0*"
  98. 950 print"vierte ziffer.bei einer zahl von fa09 "
  99. 960 print"(hez) wuerde dies so aussehen :"
  100. 970 print"16^3*15+16^2*10+16^1*0+16^0*9."
  101. 990 print""tab(12)"taste druecken"
  102. 1000 print""tab(18)"-7-" : gosub 250 : on a goto 1005 , 790
  103. 1005 print"[147]wie sie sich erinnern f steht fuer 15,"
  104. 1010 print"a steht fuer 10 , 0 fuer 0 und 9 fuer 9."
  105. 1020 print"jetzt aber weiter mit unseren"
  106. 1030 print"befehlen.der naechste befehl lautet"
  107. 1040 print"ldx[146]. er heisst lade einen wert in das"
  108. 1050 print"x-register.ldy[146] waere der gleiche"
  109. 1060 print"befehel fuer das y-register"
  110. 1070 print"die befehle sind folgendermassen"
  111. 1080 print"einzusetzen."
  112. 1090 print"ldx #$0a : lade den wert 10 ins x-reg."
  113. 1130 print""tab(12)"taste druecken"
  114. 1140 print""tab(18)"-8-" : gosub 250 : on a goto 1150 , 880
  115. 1150 print"[147]ldy #$0b: lade den wert 11 ins y-reg."
  116. 1155 print"ldx $01 : lade den wert, der in"
  117. 1160 print"speicherstelle 1 steht ins x-register"
  118. 1170 print"ldy $01 : das gleiche fuer das y-reg."
  119. 1180 print"lda $01 : und noch fuer den akku."
  120. 1190 print"dies nennt man die zero-page"
  121. 1200 print"adressierung.zero-page ist der speicher"
  122. 1210 print"von 0-255,d.h.man kann ihn mit zwei"
  123. 1220 print"ziffern darstellen, wie sie sich er-"
  124. 1230 print"innern ff steht fuer 255.noch einmal"
  125. 1232 print""tab(12)"taste druecken"
  126. 1235 print""tab(18)"-9-" : gosub 250 : on a goto 1240 , 1005
  127. 1240 print"[147]der rechenweg 16^1*15+16^0*15"
  128. 1250 print"die adresse kann man hier noch mit einem"
  129. 1260 print"byte darstellen.man muss also zwei"
  130. 1265 print"bytes nehmen um hoehere speicherstellen"
  131. 1270 print"anzusprechen.unser computer hat also "
  132. 1280 print"einen 16-bit adressen bus.(bus steht"
  133. 1290 print"fuer leitung).die 16-bit setzen sich "
  134. 1300 print"aus den 2*8 bits der beiden bytes zu-"
  135. 1310 print"sammen. die befehle dazu lauten dann"
  136. 1320 print"lda $ (adresse), ldx[160]$ (adresse)"
  137. 1330 print"ldy $ (adresse)."
  138. 1340 print""tab(12)"taste druecken"
  139. 1350 print""tab(17)"-10-" : gosub 250 : on a goto 1360 , 1150
  140. 1360 print"[147]dies war die 2.lektion. in der naechsten"
  141. 1370 print"geht es dann erst richtig los."
  142. 1380 print"geben sie wieder ihr geraet ein :"
  143. 1390 a$="":input"d[146] oder f[146]";a$
  144. 1392 rem*******************************
  145. 1394 rem*-------- lade routine -------*
  146. 1396 rem*******************************
  147. 1400 if a$ = "" then end
  148. 1410 if a$ = "z" then 1240
  149. 1420 if a$ = "d" then f=1 : goto 1450
  150. 1430 if a$ = "f" then f=8 : goto 1450
  151. 1440 goto 1390
  152. 1450 poke2,f:poke46,8:poke45,3:poke2050,0:load"lektion 3",peek(2)
  153.